﻿using CavinatorService.DAO;
using CavinatorService.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CavinatorService.Business
{
    public class AnswerService
    {
        #region Atributos

        private AnswerMapper mapper;

        #endregion

        #region Construtor

        public AnswerService()
        {
            mapper = new AnswerMapper();
        }

        #endregion

        #region Métodos

        /// <summary>
        /// Atualiza uma resposta
        /// </summary>
        /// <param name="registro">Dados da resposta</param>
        public void Atualizar(Answer registro)
        {
            mapper.Atualizar(registro);
        }

        /// <summary>
        /// Insere uma resposta
        /// </summary>
        /// <param name="registro">Dados da resposta</param>
        public void Inserir(Answer registro)
        {
            mapper.Inserir(registro);
        }

        /// <summary>
        /// Exclui uma resposta
        /// </summary>
        /// <param name="id">Id da resposta</param>
        public void Excluir(int id)
        {
            mapper.Excluir(id);
        }

        /// <summary>
        /// Lista as respostas
        /// </summary>
        /// <returns>Lista de respostas</returns>
        public List<Answer> Listar()
        {
            return mapper.Listar();
        }

        public Dictionary<Question, List<Answer>> ListarPorPergunta()
        {
            return mapper.ListarPorPergunta();         
        }

        #endregion
    }
}
